1. Field of the Invention
The present invention relates to computer network systems and, more particularly, to a system and method for processing wake-up signals during a sleep mode of a computer in a network system.
2. Discussion of Related Art
In a conventional network such as a Local Area Network (LAN), a plurality of computers are configured to communicate with each other over a shared network medium such as coaxial cables. When computers in the network are not in use, generally they are configured to enter automatically a “sleep” mode, so as to save power. This “sleep” mode involves removing power from most components of the computer, except for a few designated components that need to stay “awake”, i.e., fully powered, to wake up the computer whenever appropriate. These designated components monitor incoming signals on the network medium and determine whether the incoming signals are wake-up signals for waking up the sleeping components of the computer.
In a computer of a popular LAN such as the Ethernet, a Physical Layer (PHY) device and a Media Access Controller (MAC) device are designated to stay awake during a sleep mode of the computer. The PHY and MAC devices receive wake-up signals off the network medium and process the wake-up signals to awake the sleeping components of the computer. Currently, MAC devices are manufactured according to well-defined standards and specification.
Particularly, a conventional method of processing wake-up signals during a sleep mode of a computer in a network such as the Ethernet is as follows. When another computer in the same network or a different network desires to wake up a particular sleeping computer, it generates wake-up signals and transmits them over the shared network medium to the sleeping computer. The wake-up signals can carry a predetermined pattern of data (“wake-up data”) needed to wake up the sleeping computer as well as additional data to be processed (“processing data”) by the sleeping computer after the sleeping computer wakes up, or can carry just the wake-up data. The wake-up signals can also be packet-based, that is, they are convertible into data packets.
The PHY device receives these wake-up signals off the network medium and converts them into a conventional standardized data packet consistent with a predetermined packet standard such as the standardized Ethernet packet format, IEEE standard 802.3 for the Ethernet. FIG. 1A is a diagram of such a standardized, conventional Ethernet packet format. As shown in FIG. 1A, a standardized Ethernet data packet 8 is composed of a destination address section 2 for identifying the destination of the packet, a source address section 3 for identifying the source of the packet, a length/type section 4 for identifying the length or type of the packet, a data section 6 containing data including wake-up data and processing data, and a CRC (cyclic redundancy check) section 7 for providing error-detecting capabilities.
Once the PHY device prepares the data packet based on the wake-up signals, the PHY device sends the prepared data packet to the MAC device. Then the MAC device compares a pattern of data contained in the received data packet with a prestored wake-up data pattern using its very limited pattern matching capability. This involves a bit-by-bit comparison of data. If there is a match, i.e., a data pattern in the data packet matches the prestored wake-up data pattern, then the MAC device determines that the current data packet is a proper wake-up packet, and generates a wake-up notification signal to a CPU in the computer in response to the matching result. On the other hand, if there is no match, the data packet is ignored and no wake-up notification signal is generated, allowing the computer to remain asleep.
Upon receipt of the wake-up notification signal, the CPU then wakes up the sleeping components such as a MAC driver according to known techniques. Then the now awaken MAC driver informs the MAC device that the MAC driver is now ready and able to receive data packets from the MAC device. Since the data packet prepared by the PHY device also contains the “processing data” to be processed by the computer, the MAC device transmits the data packet to the MAC driver which in turn transmits it to appropriate protocol and application layers for processing. In this manner, wake-up signals are processed in a conventional network system.
As networking technology develops, new network standards and systems are introduced. New network systems often employ an additional protocol layer (referred to herein as an “extended protocol layer”) for adding additional variable length encoding data into the standardized data packet to improve the data integrity and robustness of the system. Such a packet is referred herein as an “additionally-encoded data packet.” FIG. 1B shows an example of such an additionally-encoded data packet 8A. As shown in FIG. 1B, the additionally-encoded packet 8A is a standardized Ethernet packet 8 (shown in FIG. 1A) with variable length additional encoding data 5 inserted in the packet 8.
In a network system where a computer includes an extended protocol layer and receives wake-up signals that carry additional encoding data and wake-up data, the PHY device of the computer converts the wake-up signals into a corresponding additionally-encoded data packet, rather than a standardized data packet due to the additional encoding data. The PHY device then forwards the additionally-encoded data packet to the MAC device and the MAC device attempts to detect the wake-up data in the packet.
At this time, however, a significant problem arises because the conventional MAC device with the very limited matching capability is unable to locate the wake-up pattern in the additionally-encoded data packet due to the additional encoding that is variable in length. And, if the conventional MAC device is unable to detect the wake-up pattern, the system loses the ability to wake-up the sleeping components and becomes non-responsive, resulting in malfunctions and possible system failures.
To address this problem, one may alter the entire configuration of the currently manufactured MAC device hardware and/or MAC driver software so that the MAC device can carry out a more sophisticated wake-up pattern detection scheme. But, such modifications are expensive and rather complicated, and will require significant alterations to the existing hardware and software, which can affect the overall operation of the entire network system. Furthermore, each time new industry network standards are introduced, the MAC hardware and software will need to change, which would be extremely expensive and likely to introduce computer bugs to the system.
It is obviously an advantage to reuse existing, well-defined network components such as MAC devices and drivers from a technical reuse and cost perspective. Therefore, a need exists for a system and method for processing wake-up signals during a sleep mode of a network computer which overcomes problems encountered in conventional methods and systems without requiring significant modifications to the existing MAC devices and MAC drivers.